#pragma once
#include <vector>
#include <Windows.h>
#include "include/graphics.h"

using namespace std;

enum Tile { WALL, FLOOR, BOX, GOAL, PLAYER, PLAYER_ON_GOAL, BOX_ON_GOAL };
enum Direction { UP, DOWN, LEFT, RIGHT };

const int WIDTH = 8;
const int HEIGHT = 8;

class ResourceManager {
public:
    ResourceManager() {};

    void loadResourceImage(int x, int y, UINT resID);

};

class Player {
public:
    Player() : dx(0), dy(0) {} // construct function with default value.

    bool move(vector<vector<Tile>>& map, Direction dir); // Method to move the player based on the given direction

private:
    int dx, dy; // direction of player movement
};
